home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 16 / CU Amiga Magazine's Super CD-ROM 16 (1997-10-16)(EMAP Images)(GB)[!][issue 1997-11].iso / CUCD / Utilities / AddressAssist / Deutsch / Rexx / ARexxDemo.arx < prev    next >
Text File  |  1997-01-29  |  8KB  |  215 lines

  1. /******************************************************************************
  2. *
  3. *    A D D R E S S A S S I S T  3
  4. *
  5. *    © 1994-97 Quarz Development / Alex H. Schneider
  6. *
  7. *******************************************************************************
  8. *******************************************************************************
  9. *
  10. *    ARexxDemo_deutsch.arx
  11. *
  12. *    $Id:$
  13. *
  14. ******************************************************************************/
  15.  
  16. salute   =  0
  17. name      =  1
  18. name2     =  2
  19. address1 =  3
  20. address2 =  4
  21. place      =  5
  22. phone1   =  6
  23. phone2     =  7
  24. free1     =  8
  25. free2     =  9
  26. free3     = 10
  27. free4     = 11
  28. code     = 12
  29. remark1     = 13
  30. remark2  = 14
  31.  
  32. group1  = c2d(b2c('1'))
  33. group2  = c2d(b2c('10'))
  34. group3  = c2d(b2c('100'))
  35. group4  = c2d(b2c('1000'))
  36. group5  = c2d(b2c('10000'))
  37. group6  = c2d(b2c('100000'))
  38. group7  = c2d(b2c('1000000'))
  39. group8  = c2d(b2c('10000000'))
  40. group9  = c2d(b2c('100000000'))
  41. group10 = c2d(b2c('100000000')) * group2
  42.  
  43.  
  44. options results
  45. address 'ADDRESSASSIST.1'
  46.  
  47. dialogbox 'C="Weiter"' '"Willkommen zum AddressAssist (AA) AREXX Tutorial!!!!\n\nDiese kurze Demonstration führt einerseits in die Fähigkeiten von AA ein\nund dient andererseits als Beispiel-Programm für AREXX Programmierer."'
  48. dialogbox 'C="Ja bitte!|Nein"' '"Dialogfenster wie diese können jederzeit mit Hilfe des DIALOGBOX Befehls\nin ein Skript eingebaut werden.\n\nSoll mit dem Tutorial begonnen werden ???"'
  49.  
  50. if result = 1 then do
  51.     setview Listview
  52.  
  53.     dialogbox 'ControlString="OK"' 'Zunächst wird nun die aktuelle Datenbank aus dem Speicher entfernt\nund eine neue Datenbank namens *DemoDatenbank* erstellt!'
  54.  
  55.     newdatabase "DemoDatenbank"
  56.  
  57.     dialogbox 'ControlString="Yawohl"' 'Nun können einige Datensätze hinzugefügt werden.'
  58.  
  59.     newrecord 'Schneider'
  60.     setrecorddata name2 'Alex H.' 
  61.     setrecorddata address1 'Kruggasse 179' 
  62.     setrecorddata address2 'Quarz Development' 
  63.     setrecorddata place 'CH-5462 Siglistorf'
  64.     setrecorddata phone1 '++41 56 243 18 33'
  65.     setrecorddata free1 'schneider@igt.baum.ethz.ch'
  66.     setrecorddata free2 '1'
  67.     setrecorddata free4 '16.08.'
  68.     setrecorddata remark1 'Der Author von AddressAssist!!!'
  69.  
  70.     setrecordgroups G1 G9 G10 
  71.  
  72.     newrecord 'Schneider'
  73.     setrecorddata name2 'Ramona' 
  74.     setrecorddata address1 'Kruggasse 179' 
  75.     setrecorddata place 'CH-5462 Siglistorf'
  76.     setrecorddata phone1 '++41 56 243 18 33'
  77.     setrecorddata free2 '2'
  78.     setrecorddata free4 '22.04.89'
  79.     setrecorddata remark1 'Meine Tochter, sie ist 7 Jahre alt!!!'
  80.  
  81.     setrecordgroups G1 G9
  82.  
  83.     newrecord 'Stuntz'
  84.     setrecorddata name2 'Stefan'
  85.     setrecorddata address1 'Eduard-Spranger-Straße 7'
  86.     setrecorddata place 'D-80935 München'
  87.     setrecorddata phone1 '++49 89 312-159-08'
  88.     setrecorddata free1 'stuntz@informatik.tu-muenchen.de'
  89.     setrecorddata free2 '1'
  90.     setrecorddata remark1 'Der Autor von MUI, der *besten* GUI Bibliothek für den Amiga!'
  91.  
  92.     setrecordgroups G1 G9 G10 
  93.  
  94.     newrecord 'Thomas'
  95.     setrecorddata name2 'Mark' 
  96.     setrecorddata address1 '1515 Royal Crest Dr. #3259'
  97.     setrecorddata place 'Austin, TX  78741'
  98.     setrecorddata free1 'mthomas@zilker.net'
  99.     setrecorddata free2 '3'
  100.     setrecorddata remark1 'Autor von textfield.gadget.'
  101.  
  102.     setrecordgroups G2 G9 G10 
  103.  
  104.     newrecord 'Potter'
  105.     setrecorddata name2 'Jonathan' 
  106.     setrecorddata address1 'GPSoftware'
  107.     setrecorddata place 'Brisbane, Australia'
  108.     setrecorddata free1 ''
  109.     setrecorddata free2 '4'
  110.     setrecorddata remark1 'Das ist der Programmierer vom bekannten und beliebten DOpus5!!'
  111.  
  112.     setrecordgroups G3 G9 G10 
  113.  
  114.     newrecord 'Schneider'
  115.     setrecorddata name2 'Yolanda' 
  116.     setrecorddata address1 'Kruggasse 179' 
  117.     setrecorddata place 'CH-5462 Siglistorf'
  118.     setrecorddata phone1 '++41 56 243 18 33'
  119.     setrecorddata free2 '2'
  120.     setrecorddata free4 '09.09.'
  121.     setrecorddata remark1 'Meine Frau!!'
  122.  
  123.     current 0
  124.     setview F
  125.  
  126.     dialogbox 'ControlString="Einverstanden"' 'Oh, wir müssen die ersten 2 *Frei* Felder umbenennen: *e-mail* and *ID-Nummer*!'
  127.     setfreename F1 'e-mail:'
  128.     setfreename F2 'ID-No.:'
  129.     setfreename F4 'Geburtstag:'
  130.  
  131.     dialogbox 'ControlString="Wenn es so sein soll"' '... und die Gruppennamen anpassen!??'
  132.  
  133.     setgroupname G1 'Europäer'
  134.     setgroupname G2 'Amerikaner'
  135.     setgroupname G3 'Australier'
  136.     setgroupname G8 'PC Entwickler'
  137.     setgroupname G9 'Amiga User'
  138.     setgroupname G10 'Amiga Entwickler'
  139.  
  140.     dialogbox 'ControlString="Yala guuut"' 'OK, öffnen wird nun ein externes Bemerkungen-Fenster \n(Es gibt zwei davon).'
  141.  
  142.     remark1window Open
  143.  
  144.     dialogbox 'ControlString="Wow"' 'Nun wählen wir alle Amiga-Entwickler an und entfernen\ngleichzeitig alle Nicht-Europäer von der Auswahl.'
  145.     setview Listview
  146.     selectgroup G10
  147.     selectgroup X G2 G3
  148.  
  149.     dialogbox 'ControlString="Wiesooo ???"' 'Die angewählten Datensätze werden nun als ASCII Datei exportiert.\nDazu wird die Voreinstellung *Prefs/Default.xpref* verwendet. ....'
  150.     exportascii SelectedOnly 'P=Prefs/Default.xpref' 'RAM:testDatabase.txt'
  151.  
  152.     dialogbox 'ControlString="OK"' '... schliesslich werden diese wieder importiert,wobei die importierten\nDatensätze als *angewählt* und *Gruppe 5* markiert werden.\n\nDie ursprüngliche Gruppen- und Auswahlzuordnung geht so verloren.'
  153.     importascii Select G5 'P=Prefs/Default.xpref' 'RAM:testDatabase.txt'
  154.  
  155.     dialogbox 'ControlString="Na dann !!"' 'Jetzt werden alle Datensätze abgewählt (von der Auswahl entfernt)\nund nur diejenigen, die zur *Gruppe 5* gehören angezeigt.'
  156.     selectnone
  157.     setlistview G5
  158.  
  159.     dialogbox 'ControlString="Nein!!!??"' 'Die Datensätze der *Gruppe 5* werden angewählt,\nentfernt und es werden schliesslich wieder alle\nDatensätze angezeigt.'
  160.     selectgroup G5
  161.     removeselection
  162.     setlistview all
  163.  
  164.     dialogbox 'ControlString="Ja!|Neeeein!"' 'Dies war Teil 1 von 3 der Demo.\n\nWollen Sie weiterfahren?'
  165.     if result = 1 then do
  166.         dialogbox 'C="Yuhuh"' 'Also, dann werden wir nun alle Personen, die in *Siglistorf* wohnen,\nanwählen und die Einträge in einer separaten Datenbank unter\ndem Namen *Die_Schneiders* abspeichern.'
  167.         selectstring '*Siglistorf*'
  168.  
  169.         exportselection D '"RAM:Die_Schneiders"'
  170.  
  171.         dialogbox 'C="Yuhuh"' 'Na dann importieren wir *Die_Schneiders* wieder.\n\nBeachte: Alle Informationen (inlusive der Gruppendefinition)\nbleiben beim Export/Import einer Auswahl erhalten.\n'
  172.         importselection '"RAM:Die_Schneiders"'
  173.  
  174.         dialogbox 'C="OK"' 'Schliesslich wollen wir nun die Datenbank zweimal sortieren:\nZunächst nach *Vor-* und dann nach *Nachname*.'
  175.         selectnone
  176.         sort name2
  177.         sort name
  178.  
  179.         dialogbox 'C="Wow!"' 'OK, die zahlreichen identischen Einträge sollen\nmit einem einzigen Funktionsaufruf entfernt werden.'
  180.         removeduplicaterecords
  181.  
  182.         dialogbox 'ControlString="Ja, bitte!|Es tut mir leid!"' 'Teil 2 von 3 ist überstanden!\n\n Weiter ?'
  183.         if result = 1 then do
  184.             dialogbox 'C="OK"' 'Betrachten wir die Daten von *Alex Schneider* etwas näher.\nZunächst muss jedoch dieser Eintrag gesucht und als Aktueller gesetzt werden.'
  185.             find 'Alex'
  186.             dialogbox 'C="Interessant"' 'Es gibt zwei Wege, um die Daten eines Eintrages in ARexx auszulesen:\n   . mit GETRECORDDATA können die Datenfelder einzeln ausgelesen werden.\n   . FORMATRECORDSTRING ermöglicht ein C-ähnliches Formatieren der Daten!'
  187.  
  188.             getrecorddata name
  189.             strName = result
  190.             getrecorddata name2
  191.             strName2 = result
  192.             getrecorddata address1
  193.             strAddr1 = result
  194.             getrecorddata place
  195.             strPlace = result
  196.  
  197.             say 'Current record data (by repeated use of GETRECORDDATA):'
  198.             say 'Name....: 'strName
  199.             say 'Name2...: 'strName2
  200.             say 'Address.: 'strAddr1
  201.             say 'Place...: 'strPlace
  202.  
  203.             formatrecordstring '%f2 %f1\nwohnt an der %f3 in %f5.\ne-mail ist %f8'
  204.  
  205.             dialogbox 'C="Wow!!!"' 'Die Daten des aktuellen Eintrages sind (mit Hilfe von of FORMATRECORDSTRING):\n\n'result
  206.         end
  207.     end
  208.  
  209.     dialogbox 'ControlString="Ja, bitte!|Sicher nicht!"' 'Ok, das ist nun das Ende!\n\nIn der Hoffung, dass diese Demo die gewünschte Funktion erfüllt hat,\nfolgt noch die letzte Frage: Möchten sie die aktuelle Datenbank sichern!??\n\nHerzlichen Dank.'
  210.  
  211.     if result = 1 then
  212.         savedatabase    /** database is saved with default name: 'testDatabase' from newdatabase */
  213.  
  214. end
  215.